256e736e48ad2a3069f023bca3b1ffd77337d27a,src/com/opencms/workplace/CmsTaskAction.java,CmsTaskAction,forward,#CmsObject#number#String#String#,334

Before Change


                    cms.readAgent(task)
                };
                try {
                    org.opencms.util.CmsMail mail1 = new org.opencms.util.CmsMail(cms,
                            cms.getRequestContext().currentUser(), user, subject, contentBuf.toString(), "text/plain");
                    mail1.start();
                }
                catch(Exception exc) {
                    if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
                        OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
                    }
                }

                // send a mail to owner
                CmsUser[] owner =  {
                    cms.readOwner(task)
                };
                try {
                    org.opencms.util.CmsMail mail2 = new org.opencms.util.CmsMail(cms, cms.getRequestContext().currentUser(),
                            owner, subject, contentBuf.toString(), "text/plain");
                    mail2.start();
                }
                catch(Exception exc) {
                    if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {

After Change


     * thrown in calling methods.
     */

    public static void forward(CmsObject cms, int taskid, String newEditorName, String newRoleName) throws CmsException {
        CmsXmlLanguageFile lang = new CmsXmlLanguageFile(cms);
        CmsUser newEditor = cms.readUser(newEditorName);
        if(newRoleName.equals(C_ALL_ROLES)) {
            newRoleName = cms.readUser(newEditorName).getDefaultGroup().getName();
        }
        CmsGroup oldRole = cms.readGroup(newRoleName);
        cms.forwardTask(taskid, oldRole.getName(), newEditor.getName());
        String comment = lang.getLanguageValue("task.dialog.forward.logmessage");
        comment += " " + CmsUser.getFullName(newEditor);
        cms.writeTaskLog(taskid, comment, C_TASKLOGTYPE_FORWARDED);

        // send an email if "Benachrichtigung bei Weiterleitung" was selected.
        CmsTask task = cms.readTask(taskid);
        if(cms.getTaskPar(task.getId(), C_TASKPARA_DELIVERY) != null) {
            StringBuffer contentBuf = new StringBuffer(lang.getLanguageValue("task.email.forward.content"));
            contentBuf.append("\n");
            contentBuf.append(lang.getLanguageValue("task.label.project"));
            contentBuf.append(": ");
            String projectname = "?";
            try {
                projectname = cms.readTask(task.getRoot()).getName();
            }
            catch(Exception exc) {


            // no root?!
            }
            contentBuf.append(projectname);
            contentBuf.append("\n");
            contentBuf.append(lang.getLanguageValue("task.label.task"));
            contentBuf.append(": ");
            contentBuf.append(task.getName());
            contentBuf.append("\n");
            contentBuf.append(lang.getLanguageValue("task.label.actuator"));
            contentBuf.append(": ");
            contentBuf.append(CmsUser.getFullName(cms.readOwner(task)));
            contentBuf.append("\n");
            contentBuf.append(lang.getLanguageValue("task.label.taskfor"));
            contentBuf.append(": ");
            contentBuf.append(CmsUser.getFullName(cms.readOriginalAgent(task)));
            contentBuf.append("\n");
            contentBuf.append(lang.getLanguageValue("task.label.editor"));
            contentBuf.append(": ");
            contentBuf.append(CmsUser.getFullName(cms.readAgent(task)));
            int projectid = cms.readProject(task).getId();
            contentBuf.append("\n\n\n" + getTaskUrl(cms, task.getId(), projectid));
            String subject = lang.getLanguageValue("task.email.forward.subject") + " " + CmsUser.getFullName(cms.readUser(task.getAgentUser())) + " / " + newRoleName;

            // if "Alle Rollenmitglieder von Aufgabe Benachrichtigen" checkbox is selected.
            if(cms.getTaskPar(task.getId(), C_TASKPARA_ALL) != null) {
                try {
                    CmsGroup group = cms.readGroup(task);
                    Vector users = cms.getUsersOfGroup(group.getName());
                    CmsSimpleMail mail = createMail(cms.getRequestContext().currentUser(),
                        users, subject, contentBuf.toString(), true);
                    new CmsMailTransport(mail).send();
                }
                catch(Exception exc) {
                    if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
                        OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
                    }
                }
            }
            else {

                // send a mail to user
                CmsUser[] user =  {
                    cms.readAgent(task)
                };
                try {
                    CmsSimpleMail mail1 = createMail(cms.getRequestContext().currentUser(), 
                            user, subject, contentBuf.toString());
                    new CmsMailTransport(mail1).send();
                }
                catch(Exception exc) {
                    if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {
                        OpenCms.getLog(CmsTaskAction.class).warn("Error while sending task mail", exc);
                    }
                }

                // send a mail to owner
                CmsUser[] owner =  {
                    cms.readOwner(task)
                };
                try {
                    CmsSimpleMail mail2 = createMail(cms.getRequestContext().currentUser(),
                            owner, subject, contentBuf.toString());
                    new CmsMailTransport(mail2).send();
                }
                catch(Exception exc) {
                    if(OpenCms.getLog(CmsTaskAction.class).isWarnEnabled()) {